import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.stream.Collectors;

/**
 * 给定一个未排序的数组‘nums’,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度
 * 实例1：
 * 输入：nums=[100,4,200,1,3,2]
 * 输出：4
 * 解释：最长连续序列是1234,他的长度是4
 *
 * 实例2:
 * 输入：nums=[0,3,7,2,5,8,4,6,0,1]
 * 输出：9
 */

public class Java59_01 {
    public static void main(String[] args) {
        int[] arr= {5,13,9,0,12,1,3,8,2,10,16,10,11,8};
        getSeries(arr);

    }

    public static void getSeries(int[] arr){
        int[] array = Arrays.stream(arr).distinct().sorted().toArray();
        // Arrays.stream(array).forEach(m->{System.out.print(m+",");});
        int maxNum=1;
        int num=1;
        for (int i = 0; i < array.length; i++) {
            if(i!=array.length-1 && (i+1)<=array.length){
                if(array[i]+1 == array[i+1]){
                   num++;
                    // System.out.println(array[i]+"=="+array[i+1]+"||"+num);
                }else{
                    if(num>maxNum){
                        maxNum=num;
                        num=1;
                    }
                }
            }
        }
        System.out.println("最大连续长度:");
        System.out.println(maxNum);
    }
}
